<?php
// Базовый класс для всех будущих пользовательских классов-слотов.
// Определяет, с каким backend-ом будет идти работа.
class Cache_Slot_Abstract extends Dklab_Cache_Frontend_Slot
{
	protected static $_cacher = null;

	protected function _getBackend ()
	{
		if (Cache_Slot_Abstract::$_cacher === null)
		{
			$init = function ()
			{
				switch (CACHE_TYPE)
				{
					case 'memcached':
						return new Zend_Cache_Backend_Memcached(array('servers' => array(array('host' => CACHE_MEMCACHED_HOST1, 'port' => CACHE_MEMCACHED_PORT1))));
					case 'file':
						return new Zend_Cache_Backend_File(array('cache_dir' => DIR_CACHE));
					default:
						throw new Exception_DataNotExists('Incorect cache type');
				}
			};
			Cache_Slot_Abstract::$_cacher = $init();
		}

		return Cache_Slot_Abstract::$_cacher;
	}
}
